﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace comdiinfo
{
    public class G64TrackSpeed : G64Element<Int32>
    {
        public G64TrackSpeed(int trackNo)
            : base(trackNo)
        {
            elementName = String.Format("Speed of Track {0}", CBMFunction.CBMTrackNoByTrackNo(trackNo));
        }
        public override void LoadData(ref G64ImageData imgData, int srcOffset, int count)
        {
            String ElementName2 = String.Format("Speed/Speedoffset of Track {0}", CBMFunction.CBMTrackNoByTrackNo(trackNo));
            ElementValue = BitConverter.ToInt32(imgData.readBytes(srcOffset, count, ElementName2), 0); // Beim Lesen ist noch nicht klar, ob es ein "Speed" oder ein "Speedoffset" ist
        }
        public override void CheckValue()
        {
            if ((ElementValue >= 0) && (ElementValue <= 3))
            {
                elementStatus = G64ElementStatus.Ok;
            }
            else
            {
                elementStatus = G64ElementStatus.Error;
                elementStatusText.AppendFormat("{0} {1} ({3})", elementName, " muss 0, 1, 2 oder 3 sein!", ElementValue.ToString());
                elementStatusText.AppendLine();
            }
        }
    }
}
